package org.shiro.dao;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.shiro.entity.UserRole;
import org.springframework.stereotype.Repository;

import java.util.List;

/** @author HKC */
@Repository
@Mapper
public interface UserRoleMapper {
  /**
   * 删除
   *
   * @param id
   * @return
   */
  int deleteByPrimaryKey(Long id);

  /**
   * 添加
   *
   * @param userId
   * @param roleId
   * @return
   */
  int insertSelective(@Param("userId") Long userId,@Param("roleId") Long roleId);

  /**
   * 查询
   *
   * @param id
   * @return
   */
  UserRole selectByPrimaryKey(Long id);

  /**
   * 更新
   *
   * @param record
   * @return
   */
  int updateByPrimaryKeySelective(UserRole record);

  /**
   * 查询用户是否存在
   *
   * @param userId
   * @return
   */
  List<UserRole> queryByUserId(@Param("userId") Long userId);

  /**
   * 插入多个角色
   *
   * @param userId
   * @param roleIds
   * @return
   */
  int insertRoles(@Param("userId") Long userId, @Param("roleId") List<Long> roleIds);

  /**
   * 插入多个用户
   *
   * @param roleId
   * @param userIds
   * @return
   */
  int insertUsers(@Param("roleId") Long roleId, @Param("userId") List<Long> userIds);

  /**
   * 删除用户对应的角色Id
   *
   * @param userId
   * @return
   */
  int deleteByUserId(@Param("userId") Long userId);

}
